With the recent increase of IC card use, many systems for achieving a single IC card which is loaded with a plurality of applications have been proposed. In addition, for version upgrade and maintenance of applications and service integration among application providers, it has been required to allow the deletion and updating of the applications. Systems for achieving the deletion and updating also have been proposed (Japanese Patent Unexamined Publication No. 2000-172808).
Currently in an IC card system, each application program stored in the IC card is designated by a unique application ID (AID), which is assigned according to that program's position or order in the IC card memory. A table in the IC card memory notes, for each AID, where the corresponding program begins (also in the IC card memory). Unfortunately, the use of this system results in some inefficiency when changing an application program. For example, if there are two application programs stored in the IC card, and it is desired to replace the first program with an updated version that is slightly longer, this cannot be done by simply overwriting the first program because it would mean overwriting part of the second program with the end part of the first program. Even if there is easily sufficient room to write the updated first program in IC card memory after the location where the second application program ends, this cannot be done because then the first application would have to be re-designated as the third program. This would require a corresponding change in the programming of each external device that communicates with the IC card and uses the first application. It would be desirable to have some way of changing the position or order in memory where the program for a particular application is stored, without thereby necessitating a change in the AID used by external programs to refer to that application.
Stated slightly differently, in an IC card, applications are assigned unique application IDs (AIDs), respectively, whereby each application is identified by the corresponding AID. However, the AIDs are not changeable in current IC cards. In case that an outside system is programmed to run with a certain AID, it a new application is installed into the IC card to be used in the existing outside system, AIDS assigned in the Outside system must be changed. On the other hand, for changing the AIDs assigned in the IC card without making a change to the AIDS in the outside system, the existing application must be all deleted before assigning new AIDS. However, it takes significant man-hours and a long time to change AIDS after deleting the existing applications because of slow executing speed of the IC card.
The present invention has been made for solving the aforementioned problem. Therefore, the object of the present invention is to apply a function of changing the ID of each application and a function of applying an alias ID to the application, thereby achieving application management capable of flexibly coping with the version upgrade and maintenance of each application, and the service integration among application providers.